package edu.pku.sei.ocl.utilities;

import edu.pku.sei.ocl.types.OclInvalid;
import edu.pku.sei.ocl.types.OclVoid;
import edu.pku.sei.ocl.types.UnlimitedNatural;
import edu.pku.sei.ocl.types.impl.OclInvalidImpl;

public interface OCLConstant {
	final String SELF_VARIABLE_NAME = "self"; //$NON-NLS-1$
    
	final String RESULT_VARIABLE_NAME = "result"; //$NON-NLS-1$

	/**
	 * use OCLInvalid instead
	 */
	@Deprecated
	final Object OCLUninited = OclInvalid.invalid;
    
	final Object OCLInvalid = OclInvalid.invalid;
	
	final Object OCLLastValue = OclInvalid.lastvalue;
	
	final Object OCLNull = OclVoid.nil;
	
	final Object OCLUnlimitedNatural = UnlimitedNatural.unlimitedNatural;

	final String DEFAULTMODEL = "default";

	public static final String CHECK_INNER_BLOCK = "ocl_visitor_check_inner_block";

}
